In a facsimile transmission installation, it is known to reduce the time needed for transmission by encoding the data resulting from scanning the image of the transmitter into words representative of run-lengths. Black or white points detected during scanning are no longer transmitted individually, but the lengths of alternate black and white runs are detected over the length of each scan line and words defining the length of each of these runs are generated. On reception, the data is reproduced on the basis of the run-length words orginally sent. This form of coding provides an initial reduction in the time needed to transmit the content of the document to be transmitted.
It is also known to reduce the transmission time further by performing transcoding of the run-length words into other words which are different from each other and are not all of the same lengths; in particular this can be done by using the coding known as Huffman code. In this mode of coding, the run-length words which occur most frequently are made to correspond to the shortest code words while, conversely, the rarest run-length words are made to correspond to longer code words. This coding has been improved in such a manner that the Huffman code words remain of reasonable length. Thus in a so-called truncated Huffman code, words corresponding to a run-length of less than a given value, e.g. 64,are made to correspond to respective Huffman code words, each different from the others. These words are known as end code words and provide finely measured data on the lengths of run which are below the defined value. Conversely, words corresponding to run-lengths greater than or equal to this value, i.e. 64 in this case, are made to correspond to two code words, one of them known as a composition code word indicative of the length of the run in 64-bit "slices", and the other one constituting an end code word indicative of the remaining length (i.e. less than 64). The composition code words are also different from each other and different from the end code words; they are representative of run lengths equal to integer multiples of 64.
Given the number of coding methods, and in particular the coding methods indicated above, highly complex electronic circuits are acquired for performing the coding and decoding necessary to use such codes.
French Pat. No. 1 547 613 in the name of Xerox Corporation, describes a coding circuit and a corresponding decoding circuit particularly useful in facsimile transmission system for reducing the number of bits to be transmitted and hence the time required for transmitting as in the Huffman coding technique, these circuits use a method which takes advantage of the differing occurrence frequencies of different lengths of strings of bits at the same level. However, in contrast to the Huffman coding technique in which different strings of bits at the same level are made to correspond to code words whose respective lengths are defined according to the probability that such a string will appear, i.e. in which it is not necessarily the case that the longer the string of bits, the longer the code word attributed thereto, whereas in the coding method used in the said patent, the code words attributed to strings of bits at the same level become longer with increasing string lengths. There is no rule in the Huffman coding technique which makes it possible to use a first code word attributed to a string of bits of a given length to deduce the next code word, that it attributed to the string of bits which is one bit longer, whereas in the coding method disclosed in the said patent, the next code word can be deduced from the first by using a counting technique for counting the extra bit or by using the technique of shifting the word one bit towards the more significant end, i.e. of increasing the word format for certain configurations of code word.
The coder described using this coding method detects the successive bits of an input string to be coded and uses a counter whose contents may be shifted, to generate the successive code words corresponding to this string of increasing length, a new code word being generated for each new bit to the string. The code words are generated by making the counter count the bits in the string, and by shifting the contents of the counter by one slip towards the more significant end for certain predetermined lengths of string.
The corresponding decoder described for reproducing the string of bits from a received code word is built around the preceding coder and uses a comparator to compare the received code word with successive code words generated in the decoder. The decoder reproduces the bits of the string defined by the received code word by continuously generating an ever increasing string of bits during decoding. At the same time, the counter used in the above coder is used in the decoder to generate successive code words corresponding to the reproduced string of bits according to the same technique of counting and shifting. A comparator compares the successive bits of the received code word with the bits of the code words generated successively by the decoder in order to detect the end of the string of reproduced bits on there being identity between the received code word and one of the locally generated code words. Both in coding and decoding alternate strings of bits are formed of ones or zeros, so a bistable which changes state at each detected identity in the comparator of the decoder defines the level (1 or 0) of the bits in the decoded and reproduced string.
Coders and decoders can be cheaply implemented on the basis of this coder. Indeed, in the present case, the decoder comprises the coder circuits together with a few other circuits. However, these coder and decoder implementations remain directly linked to the relationships which exist between a code word corresponding to a given bit string and the code word corresponding to the string which is one bit longer.
When the code words attributed to successively longer bit strings, they no longer have such a relationship from one to the next, the coder cannot generate succcessive code words from the code words corresponding to strings shorter than the string to be encoded. Likewise the lack of relationship between successive code words complicate the decoder.
The aim of the present invention is to provide a conversion circuit (coder or decoder) for converting binary words into other binary words by means of an inverse conversion circuit and inependently of any possible connexion that there may be between successive code words.